
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */
package com.hlkj.pay.app.common.ext.aliyun;

import com.hlkj.pay.dto.common.OcrConfig;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;
/**
 * @author monk@techsun.com
 * @date 2023/04/13 11:58
 */
@Slf4j
@Repository
@RequiredArgsConstructor
public class AliyunOcrCommonExtPt {
    /**
     * <b>description</b> :
     * <p>使用AK&amp;SK初始化账号Client</p>
     * @return Client
     *
     * @throws Exception
     */
    public static com.aliyun.ocr_api20210707.Client createClient(OcrConfig ocrConfig) throws Exception {
		// 工程代码泄露可能会导致 AccessKey 泄露，并威胁账号下所有资源的安全性。以下代码示例仅供参考。
		// 建议使用更安全的 STS 方式，更多鉴权访问方式请参见：https://help.aliyun.com/document_detail/378657.html。
		com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
				// 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
				.setAccessKeyId(ocrConfig.getAppKey())
				// 必填，请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
				.setAccessKeySecret(ocrConfig.getSecretKey());
		// Endpoint 请参考 https://api.aliyun.com/product/ocr-api
		config.endpoint = "ocr-api.cn-hangzhou.aliyuncs.com";
		return new com.aliyun.ocr_api20210707.Client(config);
    }
}
